Java Introduction
Outline

History

See the Web Link on your own.

What is Java?

The term Java encompases:

The Java Language

The Java Virtual Machine

The Java Platform

Java Language

Simple – fits in the space between fully interpreted and fully compiled languages. Clean syntax with a bias towards practicality, productivity and programmer protection.

Object-Oriented – wave of the future, new way of thinking about programs, lots of new concepts and vocabulary.

Network-centric – decentralized computing

Interpreted – bytecodes, JIT.

Robust – protects against uncontrolled access to memory. The O-O model provides a foundation for this also.

Secure – lots of built-in facilities to deal with the distributed computing environment.

Architecture Neutral – "write once, run anywhere".

Portable – because it is architecture neutral, network-centric and no implementation dependent aspects of the language specification. (int is 32-bit no matter what machine Java runs on).

High-performance – several techniques used to get a much performance as possible.

Multithreaded – Java makes writing multithreaded programs easy.

Dynamic Language – extend language through objects, load what you need, when you need it from anywhere in the "network".

Java Virtual Machine

A software computer running on a real hardware computer.

Its machine code is the Java Bytecode instruction set.

Java Platform

Core API

Java Uses

Applets, Client Apps, Server Apps, etc…

Java Security

  1. Java Langauge
  2. JVM
  3. Core API
  4. Application

Java Strengths and Weaknesses